package com.mop.app.service;

import com.mop.app.controller.vo.CollectSourceVO;
import com.mop.app.controller.vo.LoginUserVO;
import com.mop.app.controller.vo.RegisterUserVO;
import com.mop.app.dal.entity.AppUser;
import com.mop.app.common.BaseService;

import java.util.List;

/**
 * 用户表 服务类
 *
 * @author wchen
 * @since 2020-02-27
 */
public interface AppUserService extends BaseService<AppUser> {

    /**
     * 通过手机号获取用户
     * @param userPhone
     * @return
     */
    AppUser getByPhone(String userPhone);

    /**
     * 注册用户
     * @param registerUserVO
     * @return
     */
    String registerUser(RegisterUserVO registerUserVO);

    /**
     * 登录用户
     * @param loginUserVO
     * @return
     */
    String loginUser(LoginUserVO loginUserVO);

    /**
     * 退出
     * @param token
     * @return
     */
    void logout(String token);

    /**
     * 查询用户收藏
     * @param userId
     * @return
     */
    List<CollectSourceVO> userCollect(Long userId);

    /**
     * 添加收藏
     * @param userId
     * @param sourceId
     */
    void addCollect(Long userId, Long sourceId);
}
